package com.jsyl.lwbk.business.domain.education;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ChildTrainingProgramExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ChildTrainingProgramExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCenterIdIsNull() {
            addCriterion("center_id is null");
            return (Criteria) this;
        }

        public Criteria andCenterIdIsNotNull() {
            addCriterion("center_id is not null");
            return (Criteria) this;
        }

        public Criteria andCenterIdEqualTo(Long value) {
            addCriterion("center_id =", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdNotEqualTo(Long value) {
            addCriterion("center_id <>", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdGreaterThan(Long value) {
            addCriterion("center_id >", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdGreaterThanOrEqualTo(Long value) {
            addCriterion("center_id >=", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdLessThan(Long value) {
            addCriterion("center_id <", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdLessThanOrEqualTo(Long value) {
            addCriterion("center_id <=", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdIn(List<Long> values) {
            addCriterion("center_id in", values, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdNotIn(List<Long> values) {
            addCriterion("center_id not in", values, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdBetween(Long value1, Long value2) {
            addCriterion("center_id between", value1, value2, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdNotBetween(Long value1, Long value2) {
            addCriterion("center_id not between", value1, value2, "centerId");
            return (Criteria) this;
        }

        public Criteria andChildIdIsNull() {
            addCriterion("child_id is null");
            return (Criteria) this;
        }

        public Criteria andChildIdIsNotNull() {
            addCriterion("child_id is not null");
            return (Criteria) this;
        }

        public Criteria andChildIdEqualTo(Long value) {
            addCriterion("child_id =", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdNotEqualTo(Long value) {
            addCriterion("child_id <>", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdGreaterThan(Long value) {
            addCriterion("child_id >", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdGreaterThanOrEqualTo(Long value) {
            addCriterion("child_id >=", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdLessThan(Long value) {
            addCriterion("child_id <", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdLessThanOrEqualTo(Long value) {
            addCriterion("child_id <=", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdIn(List<Long> values) {
            addCriterion("child_id in", values, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdNotIn(List<Long> values) {
            addCriterion("child_id not in", values, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdBetween(Long value1, Long value2) {
            addCriterion("child_id between", value1, value2, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdNotBetween(Long value1, Long value2) {
            addCriterion("child_id not between", value1, value2, "childId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberIsNull() {
            addCriterion("training_program_number is null");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberIsNotNull() {
            addCriterion("training_program_number is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberEqualTo(String value) {
            addCriterion("training_program_number =", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andEvaluateNumberEqualTo(String value) {
            addCriterion("evaluate_number =", value, "evaluateNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberNotEqualTo(String value) {
            addCriterion("training_program_number <>", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberGreaterThan(String value) {
            addCriterion("training_program_number >", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberGreaterThanOrEqualTo(String value) {
            addCriterion("training_program_number >=", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberLessThan(String value) {
            addCriterion("training_program_number <", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberLessThanOrEqualTo(String value) {
            addCriterion("training_program_number <=", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberLike(String value) {
            addCriterion("training_program_number like", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberNotLike(String value) {
            addCriterion("training_program_number not like", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberIn(List<String> values) {
            addCriterion("training_program_number in", values, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberNotIn(List<String> values) {
            addCriterion("training_program_number not in", values, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberBetween(String value1, String value2) {
            addCriterion("training_program_number between", value1, value2, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberNotBetween(String value1, String value2) {
            addCriterion("training_program_number not between", value1, value2, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andProjectTypeIsNull() {
            addCriterion("project_type is null");
            return (Criteria) this;
        }

        public Criteria andProjectTypeIsNotNull() {
            addCriterion("project_type is not null");
            return (Criteria) this;
        }

        public Criteria andProjectTypeEqualTo(Integer value) {
            addCriterion("project_type =", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeNotEqualTo(Integer value) {
            addCriterion("project_type <>", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeGreaterThan(Integer value) {
            addCriterion("project_type >", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("project_type >=", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeLessThan(Integer value) {
            addCriterion("project_type <", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeLessThanOrEqualTo(Integer value) {
            addCriterion("project_type <=", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeIn(List<Integer> values) {
            addCriterion("project_type in", values, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeNotIn(List<Integer> values) {
            addCriterion("project_type not in", values, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeBetween(Integer value1, Integer value2) {
            addCriterion("project_type between", value1, value2, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("project_type not between", value1, value2, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectModuleIsNull() {
            addCriterion("project_module is null");
            return (Criteria) this;
        }

        public Criteria andProjectModuleIsNotNull() {
            addCriterion("project_module is not null");
            return (Criteria) this;
        }

        public Criteria andProjectModuleEqualTo(Integer value) {
            addCriterion("project_module =", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleNotEqualTo(Integer value) {
            addCriterion("project_module <>", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleGreaterThan(Integer value) {
            addCriterion("project_module >", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleGreaterThanOrEqualTo(Integer value) {
            addCriterion("project_module >=", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleLessThan(Integer value) {
            addCriterion("project_module <", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleLessThanOrEqualTo(Integer value) {
            addCriterion("project_module <=", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleIn(List<Integer> values) {
            addCriterion("project_module in", values, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleNotIn(List<Integer> values) {
            addCriterion("project_module not in", values, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleBetween(Integer value1, Integer value2) {
            addCriterion("project_module between", value1, value2, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleNotBetween(Integer value1, Integer value2) {
            addCriterion("project_module not between", value1, value2, "projectModule");
            return (Criteria) this;
        }

        public Criteria andInputTypeIsNull() {
            addCriterion("input_type is null");
            return (Criteria) this;
        }

        public Criteria andInputTypeIsNotNull() {
            addCriterion("input_type is not null");
            return (Criteria) this;
        }

        public Criteria andInputTypeEqualTo(Integer value) {
            addCriterion("input_type =", value, "inputType");
            return (Criteria) this;
        }

        public Criteria andInputTypeNotEqualTo(Integer value) {
            addCriterion("input_type <>", value, "inputType");
            return (Criteria) this;
        }

        public Criteria andInputTypeGreaterThan(Integer value) {
            addCriterion("input_type >", value, "inputType");
            return (Criteria) this;
        }

        public Criteria andInputTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("input_type >=", value, "inputType");
            return (Criteria) this;
        }

        public Criteria andInputTypeLessThan(Integer value) {
            addCriterion("input_type <", value, "inputType");
            return (Criteria) this;
        }

        public Criteria andInputTypeLessThanOrEqualTo(Integer value) {
            addCriterion("input_type <=", value, "inputType");
            return (Criteria) this;
        }

        public Criteria andInputTypeIn(List<Integer> values) {
            addCriterion("input_type in", values, "inputType");
            return (Criteria) this;
        }

        public Criteria andInputTypeNotIn(List<Integer> values) {
            addCriterion("input_type not in", values, "inputType");
            return (Criteria) this;
        }

        public Criteria andInputTypeBetween(Integer value1, Integer value2) {
            addCriterion("input_type between", value1, value2, "inputType");
            return (Criteria) this;
        }

        public Criteria andInputTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("input_type not between", value1, value2, "inputType");
            return (Criteria) this;
        }

        public Criteria andQuestionIdIsNull() {
            addCriterion("question_id is null");
            return (Criteria) this;
        }

        public Criteria andQuestionIdIsNotNull() {
            addCriterion("question_id is not null");
            return (Criteria) this;
        }

        public Criteria andQuestionIdEqualTo(Long value) {
            addCriterion("question_id =", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdNotEqualTo(Long value) {
            addCriterion("question_id <>", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdGreaterThan(Long value) {
            addCriterion("question_id >", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdGreaterThanOrEqualTo(Long value) {
            addCriterion("question_id >=", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdLessThan(Long value) {
            addCriterion("question_id <", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdLessThanOrEqualTo(Long value) {
            addCriterion("question_id <=", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdIn(List<Long> values) {
            addCriterion("question_id in", values, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdNotIn(List<Long> values) {
            addCriterion("question_id not in", values, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdBetween(Long value1, Long value2) {
            addCriterion("question_id between", value1, value2, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdNotBetween(Long value1, Long value2) {
            addCriterion("question_id not between", value1, value2, "questionId");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreIsNull() {
            addCriterion("training_score is null");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreIsNotNull() {
            addCriterion("training_score is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreEqualTo(Integer value) {
            addCriterion("training_score =", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreNotEqualTo(Integer value) {
            addCriterion("training_score <>", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreGreaterThan(Integer value) {
            addCriterion("training_score >", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("training_score >=", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreLessThan(Integer value) {
            addCriterion("training_score <", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreLessThanOrEqualTo(Integer value) {
            addCriterion("training_score <=", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreIn(List<Integer> values) {
            addCriterion("training_score in", values, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreNotIn(List<Integer> values) {
            addCriterion("training_score not in", values, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreBetween(Integer value1, Integer value2) {
            addCriterion("training_score between", value1, value2, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("training_score not between", value1, value2, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleIsNull() {
            addCriterion("training_module is null");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleIsNotNull() {
            addCriterion("training_module is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleEqualTo(Integer value) {
            addCriterion("training_module =", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleNotEqualTo(Integer value) {
            addCriterion("training_module <>", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleGreaterThan(Integer value) {
            addCriterion("training_module >", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleGreaterThanOrEqualTo(Integer value) {
            addCriterion("training_module >=", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleLessThan(Integer value) {
            addCriterion("training_module <", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleLessThanOrEqualTo(Integer value) {
            addCriterion("training_module <=", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleIn(List<Integer> values) {
            addCriterion("training_module in", values, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleNotIn(List<Integer> values) {
            addCriterion("training_module not in", values, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleBetween(Integer value1, Integer value2) {
            addCriterion("training_module between", value1, value2, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleNotBetween(Integer value1, Integer value2) {
            addCriterion("training_module not between", value1, value2, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingNumIsNull() {
            addCriterion("training_num is null");
            return (Criteria) this;
        }

        public Criteria andTrainingNumIsNotNull() {
            addCriterion("training_num is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingNumEqualTo(String value) {
            addCriterion("training_num =", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumNotEqualTo(String value) {
            addCriterion("training_num <>", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumGreaterThan(String value) {
            addCriterion("training_num >", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumGreaterThanOrEqualTo(String value) {
            addCriterion("training_num >=", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumLessThan(String value) {
            addCriterion("training_num <", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumLessThanOrEqualTo(String value) {
            addCriterion("training_num <=", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumLike(String value) {
            addCriterion("training_num like", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumNotLike(String value) {
            addCriterion("training_num not like", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumIn(List<String> values) {
            addCriterion("training_num in", values, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumNotIn(List<String> values) {
            addCriterion("training_num not in", values, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumBetween(String value1, String value2) {
            addCriterion("training_num between", value1, value2, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumNotBetween(String value1, String value2) {
            addCriterion("training_num not between", value1, value2, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanIsNull() {
            addCriterion("training_plan is null");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanIsNotNull() {
            addCriterion("training_plan is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanEqualTo(Integer value) {
            addCriterion("training_plan =", value, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanNotEqualTo(Integer value) {
            addCriterion("training_plan <>", value, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanGreaterThan(Integer value) {
            addCriterion("training_plan >", value, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanGreaterThanOrEqualTo(Integer value) {
            addCriterion("training_plan >=", value, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanLessThan(Integer value) {
            addCriterion("training_plan <", value, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanLessThanOrEqualTo(Integer value) {
            addCriterion("training_plan <=", value, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanIn(List<Integer> values) {
            addCriterion("training_plan in", values, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanNotIn(List<Integer> values) {
            addCriterion("training_plan not in", values, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanBetween(Integer value1, Integer value2) {
            addCriterion("training_plan between", value1, value2, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingPlanNotBetween(Integer value1, Integer value2) {
            addCriterion("training_plan not between", value1, value2, "trainingPlan");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeIsNull() {
            addCriterion("training_type is null");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeIsNotNull() {
            addCriterion("training_type is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeEqualTo(Integer value) {
            addCriterion("training_type =", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeNotEqualTo(Integer value) {
            addCriterion("training_type <>", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeGreaterThan(Integer value) {
            addCriterion("training_type >", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("training_type >=", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeLessThan(Integer value) {
            addCriterion("training_type <", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeLessThanOrEqualTo(Integer value) {
            addCriterion("training_type <=", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeIn(List<Integer> values) {
            addCriterion("training_type in", values, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeNotIn(List<Integer> values) {
            addCriterion("training_type not in", values, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeBetween(Integer value1, Integer value2) {
            addCriterion("training_type between", value1, value2, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("training_type not between", value1, value2, "trainingType");
            return (Criteria) this;
        }

        public Criteria andIsChoosedIsNull() {
            addCriterion("is_choosed is null");
            return (Criteria) this;
        }

        public Criteria andIsChoosedIsNotNull() {
            addCriterion("is_choosed is not null");
            return (Criteria) this;
        }

        public Criteria andIsChoosedEqualTo(Integer value) {
            addCriterion("is_choosed =", value, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andIsChoosedNotEqualTo(Integer value) {
            addCriterion("is_choosed <>", value, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andIsChoosedGreaterThan(Integer value) {
            addCriterion("is_choosed >", value, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andIsChoosedGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_choosed >=", value, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andIsChoosedLessThan(Integer value) {
            addCriterion("is_choosed <", value, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andIsChoosedLessThanOrEqualTo(Integer value) {
            addCriterion("is_choosed <=", value, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andIsChoosedIn(List<Integer> values) {
            addCriterion("is_choosed in", values, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andIsChoosedNotIn(List<Integer> values) {
            addCriterion("is_choosed not in", values, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andIsChoosedBetween(Integer value1, Integer value2) {
            addCriterion("is_choosed between", value1, value2, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andIsChoosedNotBetween(Integer value1, Integer value2) {
            addCriterion("is_choosed not between", value1, value2, "isChoosed");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdIsNull() {
            addCriterion("training_program_id is null");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdIsNotNull() {
            addCriterion("training_program_id is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdEqualTo(Long value) {
            addCriterion("training_program_id =", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdNotEqualTo(Long value) {
            addCriterion("training_program_id <>", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdGreaterThan(Long value) {
            addCriterion("training_program_id >", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdGreaterThanOrEqualTo(Long value) {
            addCriterion("training_program_id >=", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdLessThan(Long value) {
            addCriterion("training_program_id <", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdLessThanOrEqualTo(Long value) {
            addCriterion("training_program_id <=", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdIn(List<Long> values) {
            addCriterion("training_program_id in", values, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdNotIn(List<Long> values) {
            addCriterion("training_program_id not in", values, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdBetween(Long value1, Long value2) {
            addCriterion("training_program_id between", value1, value2, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdNotBetween(Long value1, Long value2) {
            addCriterion("training_program_id not between", value1, value2, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingNameIsNull() {
            addCriterion("training_name is null");
            return (Criteria) this;
        }

        public Criteria andTrainingNameIsNotNull() {
            addCriterion("training_name is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingNameEqualTo(String value) {
            addCriterion("training_name =", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameNotEqualTo(String value) {
            addCriterion("training_name <>", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameGreaterThan(String value) {
            addCriterion("training_name >", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameGreaterThanOrEqualTo(String value) {
            addCriterion("training_name >=", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameLessThan(String value) {
            addCriterion("training_name <", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameLessThanOrEqualTo(String value) {
            addCriterion("training_name <=", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameLike(String value) {
            addCriterion("training_name like", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameNotLike(String value) {
            addCriterion("training_name not like", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameIn(List<String> values) {
            addCriterion("training_name in", values, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameNotIn(List<String> values) {
            addCriterion("training_name not in", values, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameBetween(String value1, String value2) {
            addCriterion("training_name between", value1, value2, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameNotBetween(String value1, String value2) {
            addCriterion("training_name not between", value1, value2, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingContentIsNull() {
            addCriterion("training_content is null");
            return (Criteria) this;
        }

        public Criteria andTrainingContentIsNotNull() {
            addCriterion("training_content is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingContentEqualTo(String value) {
            addCriterion("training_content =", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentNotEqualTo(String value) {
            addCriterion("training_content <>", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentGreaterThan(String value) {
            addCriterion("training_content >", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentGreaterThanOrEqualTo(String value) {
            addCriterion("training_content >=", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentLessThan(String value) {
            addCriterion("training_content <", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentLessThanOrEqualTo(String value) {
            addCriterion("training_content <=", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentLike(String value) {
            addCriterion("training_content like", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentNotLike(String value) {
            addCriterion("training_content not like", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentIn(List<String> values) {
            addCriterion("training_content in", values, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentNotIn(List<String> values) {
            addCriterion("training_content not in", values, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentBetween(String value1, String value2) {
            addCriterion("training_content between", value1, value2, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentNotBetween(String value1, String value2) {
            addCriterion("training_content not between", value1, value2, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionIsNull() {
            addCriterion("modify_direction is null");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionIsNotNull() {
            addCriterion("modify_direction is not null");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionEqualTo(Integer value) {
            addCriterion("modify_direction =", value, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionNotEqualTo(Integer value) {
            addCriterion("modify_direction <>", value, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionGreaterThan(Integer value) {
            addCriterion("modify_direction >", value, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionGreaterThanOrEqualTo(Integer value) {
            addCriterion("modify_direction >=", value, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionLessThan(Integer value) {
            addCriterion("modify_direction <", value, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionLessThanOrEqualTo(Integer value) {
            addCriterion("modify_direction <=", value, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionIn(List<Integer> values) {
            addCriterion("modify_direction in", values, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionNotIn(List<Integer> values) {
            addCriterion("modify_direction not in", values, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionBetween(Integer value1, Integer value2) {
            addCriterion("modify_direction between", value1, value2, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyDirectionNotBetween(Integer value1, Integer value2) {
            addCriterion("modify_direction not between", value1, value2, "modifyDirection");
            return (Criteria) this;
        }

        public Criteria andModifyContentIsNull() {
            addCriterion("modify_content is null");
            return (Criteria) this;
        }

        public Criteria andModifyContentIsNotNull() {
            addCriterion("modify_content is not null");
            return (Criteria) this;
        }

        public Criteria andModifyContentEqualTo(String value) {
            addCriterion("modify_content =", value, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentNotEqualTo(String value) {
            addCriterion("modify_content <>", value, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentGreaterThan(String value) {
            addCriterion("modify_content >", value, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentGreaterThanOrEqualTo(String value) {
            addCriterion("modify_content >=", value, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentLessThan(String value) {
            addCriterion("modify_content <", value, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentLessThanOrEqualTo(String value) {
            addCriterion("modify_content <=", value, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentLike(String value) {
            addCriterion("modify_content like", value, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentNotLike(String value) {
            addCriterion("modify_content not like", value, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentIn(List<String> values) {
            addCriterion("modify_content in", values, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentNotIn(List<String> values) {
            addCriterion("modify_content not in", values, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentBetween(String value1, String value2) {
            addCriterion("modify_content between", value1, value2, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyContentNotBetween(String value1, String value2) {
            addCriterion("modify_content not between", value1, value2, "modifyContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentIsNull() {
            addCriterion("modify_training_content is null");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentIsNotNull() {
            addCriterion("modify_training_content is not null");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentEqualTo(String value) {
            addCriterion("modify_training_content =", value, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentNotEqualTo(String value) {
            addCriterion("modify_training_content <>", value, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentGreaterThan(String value) {
            addCriterion("modify_training_content >", value, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentGreaterThanOrEqualTo(String value) {
            addCriterion("modify_training_content >=", value, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentLessThan(String value) {
            addCriterion("modify_training_content <", value, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentLessThanOrEqualTo(String value) {
            addCriterion("modify_training_content <=", value, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentLike(String value) {
            addCriterion("modify_training_content like", value, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentNotLike(String value) {
            addCriterion("modify_training_content not like", value, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentIn(List<String> values) {
            addCriterion("modify_training_content in", values, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentNotIn(List<String> values) {
            addCriterion("modify_training_content not in", values, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentBetween(String value1, String value2) {
            addCriterion("modify_training_content between", value1, value2, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andModifyTrainingContentNotBetween(String value1, String value2) {
            addCriterion("modify_training_content not between", value1, value2, "modifyTrainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelIsNull() {
            addCriterion("training_level is null");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelIsNotNull() {
            addCriterion("training_level is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelEqualTo(Integer value) {
            addCriterion("training_level =", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelNotEqualTo(Integer value) {
            addCriterion("training_level <>", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelGreaterThan(Integer value) {
            addCriterion("training_level >", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("training_level >=", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelLessThan(Integer value) {
            addCriterion("training_level <", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelLessThanOrEqualTo(Integer value) {
            addCriterion("training_level <=", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelIn(List<Integer> values) {
            addCriterion("training_level in", values, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelNotIn(List<Integer> values) {
            addCriterion("training_level not in", values, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelBetween(Integer value1, Integer value2) {
            addCriterion("training_level between", value1, value2, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("training_level not between", value1, value2, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayIsNull() {
            addCriterion("temp_generate_day is null");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayIsNotNull() {
            addCriterion("temp_generate_day is not null");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayEqualTo(String value) {
            addCriterion("temp_generate_day =", value, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayNotEqualTo(String value) {
            addCriterion("temp_generate_day <>", value, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayGreaterThan(String value) {
            addCriterion("temp_generate_day >", value, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayGreaterThanOrEqualTo(String value) {
            addCriterion("temp_generate_day >=", value, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayLessThan(String value) {
            addCriterion("temp_generate_day <", value, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayLessThanOrEqualTo(String value) {
            addCriterion("temp_generate_day <=", value, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayLike(String value) {
            addCriterion("temp_generate_day like", value, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayNotLike(String value) {
            addCriterion("temp_generate_day not like", value, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayIn(List<String> values) {
            addCriterion("temp_generate_day in", values, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayNotIn(List<String> values) {
            addCriterion("temp_generate_day not in", values, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayBetween(String value1, String value2) {
            addCriterion("temp_generate_day between", value1, value2, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andTempGenerateDayNotBetween(String value1, String value2) {
            addCriterion("temp_generate_day not between", value1, value2, "tempGenerateDay");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}